
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@polymer/paper-item
Advanced tools
<paper-item>
is an interactive list item. By default, it is a horizontal flexbox.
<paper-item>Item</paper-item>
Use this element with <paper-item-body>
to make Material Design styled two-line and three-line
items.
<paper-item>
<paper-item-body two-line>
<div>Show your status</div>
<div secondary>Your status is visible to everyone</div>
</paper-item-body>
<iron-icon icon="warning"></iron-icon>
</paper-item>
To use paper-item
as a link, wrap it in an anchor tag. Since paper-item
will
already receive focus, you may want to prevent the anchor tag from receiving
focus as well by setting its tabindex to -1.
<a href="https://www.polymer-project.org/" tabindex="-1">
<paper-item raised>Polymer Project</paper-item>
</a>
If you are concerned about performance and want to use paper-item
in a paper-listbox
with many items, you can just use a native button
with the paper-item
class
applied (provided you have correctly included the shared styles):
<style is="custom-style" include="paper-item-shared-styles"></style>
<paper-listbox>
<button class="paper-item" role="option">Inbox</button>
<button class="paper-item" role="option">Starred</button>
<button class="paper-item" role="option">Sent mail</button>
</paper-listbox>
The following custom properties and mixins are available for styling:
Custom property | Description | Default |
---|---|---|
--paper-item-min-height | Minimum height of the item | 48px |
--paper-item | Mixin applied to the item | {} |
--paper-item-selected-weight | The font weight of a selected item | bold |
--paper-item-selected | Mixin applied to selected paper-items | {} |
--paper-item-disabled-color | The color for disabled paper-items | --disabled-text-color |
--paper-item-disabled | Mixin applied to disabled paper-items | {} |
--paper-item-focused | Mixin applied to focused paper-items | {} |
--paper-item-focused-before | Mixin applied to :before focused paper-items | {} |
This element has role="listitem"
by default. Depending on usage, it may be more appropriate to set
role="menuitem"
, role="menuitemcheckbox"
or role="menuitemradio"
.
<paper-item role="menuitemcheckbox">
<paper-item-body>
Show your status
</paper-item-body>
<paper-checkbox></paper-checkbox>
</paper-item>
<paper-icon-item>
is a convenience element to make an item with icon. It is an interactive list
item with a fixed-width icon area, according to Material Design. This is useful if the icons are of
varying widths, but you want the item bodies to line up. Use this like a <paper-item>
. The child
node with the slot item-icon
is placed in the icon area.
<paper-icon-item>
<iron-icon icon="favorite" slot="item-icon"></iron-icon>
Favorite
</paper-icon-item>
<paper-icon-item>
<div class="avatar" slot="item-icon"></div>
Avatar
</paper-icon-item>
The following custom properties and mixins are available for styling:
Custom property | Description | Default |
---|---|---|
--paper-item-icon-width | Width of the icon area | 56px |
--paper-item-icon | Mixin applied to the icon area | {} |
--paper-icon-item | Mixin applied to the item | {} |
--paper-item-selected-weight | The font weight of a selected item | bold |
--paper-item-selected | Mixin applied to selected paper-items | {} |
--paper-item-disabled-color | The color for disabled paper-items | --disabled-text-color |
--paper-item-disabled | Mixin applied to disabled paper-items | {} |
--paper-item-focused | Mixin applied to focused paper-items | {} |
--paper-item-focused-before | Mixin applied to :before focused paper-items | {} |
Distribution is now done with the slot="item-icon"
attributes (replacing the item-icon
attribute):
<paper-icon-item>
<iron-icon icon="favorite" slot="item-icon"></iron-icon>
Favorite
</paper-icon-item>
Use <paper-item-body>
in a <paper-item>
or <paper-icon-item>
to make two- or
three- line items. It is a flex item that is a vertical flexbox.
<paper-item>
<paper-item-body two-line>
<div>Show your status</div>
<div secondary>Your status is visible to everyone</div>
</paper-item-body>
</paper-item>
The child elements with the secondary
attribute is given secondary text styling.
The following custom properties and mixins are available for styling:
Custom property | Description | Default |
---|---|---|
--paper-item-body-two-line-min-height | Minimum height of a two-line item | 72px |
--paper-item-body-three-line-min-height | Minimum height of a three-line item | 88px |
--paper-item-body-secondary-color | Foreground color for the secondary area | --secondary-text-color |
--paper-item-body-secondary | Mixin applied to the secondary area | {} |
See: Documentation, Demo.
npm install --save @polymer/paper-item
<html>
<head>
<script type="module">
import '@polymer/paper-item/paper-item.js';
</script>
</head>
<body>
<paper-item>Item</paper-item>
</body>
</html>
import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/paper-item/paper-item.js';
class SampleElement extends PolymerElement {
static get template() {
return html`
<paper-item>Item</paper-item>
`;
}
}
customElements.define('sample-element', SampleElement);
If you want to send a PR to this element, here are the instructions for running the tests and demo locally:
git clone https://github.com/PolymerElements/paper-item
cd paper-item
npm install
npm install -g polymer-cli
polymer serve --npm
open http://127.0.0.1:<port>/demo/
polymer test --npm
FAQs
A material-design styled list item
We found that @polymer/paper-item demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 11 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.